home *** CD-ROM | disk | FTP | other *** search
- 10 REM ********************************
- 20 REM * TECHNO INFO PROGRAM *
- 30 REM * WRITTEN FOR SEPTEMBER 1990 *
- 40 REM * ISSUE OF CDU BY J.R.FINCH. *
- 50 REM ********************************
- 60 :
- 70 :
- 80 SA=832: REM ** START ADDRESS FOR DATA
- 100 PRINT"[147]":INPUT"HOW MANY DATA ITEMS TO CREATED (1-100) ";N
- 110 IF N<1 OR N>100 THEN 100
- 120 PRINT"PLEASE WAIT: STORING VALUES AS IF IT WERE SPRITE DATA INFO..."
- 125 PRINT"PROGRAM WILL WRITE LINES CONTAINING 8"
- 127 PRINT"BYTES AND THEREFORE MAY WRITE MORE THAN YOU INTEND."
- 130 FORX=1TON:POKE831+X,INT(RND(1)*256):NEXT: REM ** CREATE RANDOM DATA
- 140 :
- 150 INPUT"ENTER START LINE NUMBER (1000-60000) ";SL
- 160 IF SL<1000 OR SL>60000 THEN PRINT"[145][145][145]":GOTO150
- 170 INPUT"ENTER LINE INCREMENT (1-100) ";LI
- 180 IF LI<1 OR LI>100 THEN PRINT"[145][145][145][145]":GOTO170
- 190 :
- 200 REM *******************************
- 210 REM * WE SHALL START PRINTING THE *
- 220 REM * DATA, EXITING AND THEN *
- 230 REM * RE-ENTERING THE PROGRAM *
- 240 REM * SHORTLY: SAVE ANY VARIABLES *
- 250 REM * NOW TO SOME LOCATIONS IN *
- 260 REM * MEMORY AS SHOWN BY THE *
- 270 REM * EXAMPLE LINE 300 *
- 280 REM *******************************
- 290 :
- 300 POKE 679,X1:POKE 680,Y1:POKE 681,C1
- 310 :
- 320 REM *******************************
- 330 REM * STORE START LINE/ ADDRESS / *
- 340 REM * INCREMENT/ NO.OF DATA ITEMS *
- 350 REM *******************************
- 360 :
- 365 POKE 682,((SL/256)-INT(SL/256))*256:POKE 683,SL/256
- 370 POKE 685,((SA/256)-INT(SA/256))*256:POKE 686,SA/256
- 375 POKE 687,LI
- 380 POKE 688,((N/256)-INT(N/256))*256:POKE 689,N/256
- 385 :
- 390 REM *******************************
- 400 REM * PROGRAM WILL RETURN TO LINE *
- 410 REM * 500 SO START RETRIEVING *
- 420 REM * VARIABLES AND CALCULATING *
- 430 REM * NEXT LINE NUMBER AND ADDRESS*
- 440 REM * AT THAT LINE AND LET LOC'N *
- 450 REM * TWO HOLD THE VALUE FOR THE *
- 460 REM * NUMBER OF LINES DONE SO FAR *
- 470 REM *******************************
- 480 :
- 490 POKE2,0
- 500 NL=(PEEK(682)+PEEK(683)*256)+PEEK(687)*PEEK(2): REM ** CALC. NEXT LINE NMBR
- 510 AD=PEEK(685)+PEEK(686)*256+PEEK(2)*8: REM ** START ADDR. FOR 1ST OF NEXT 8
- 520 :
- 525 IF AD>=((PEEK(688)+PEEK(689)*256)+(PEEK(685)+PEEK(686)*256)) THEN 620
- 530 PRINT"[147]"NL"DATA";
- 540 FOR X=0 TO 7: PRINT PEEK(AD+X)"[157],";: NEXT: REM ** PRINT OUT VALUES OF NEXT 8
- 550 PRINT"[157] ":PRINT"GOTO500";:REM ** END OF LAST LINE - GET READY TO EXIT
- 560 :
- 565 POKE2,PEEK(2)+1: REM ** INCREASE NO. OF LINES DONE (MAX=255)
- 570 POKE631,13:POKE632,13:POKE198,2:END
- 580 REM ^^ FILL BUFFER WITH CHR$(13) AND EXIT PROGRAM
- 590 REM ** LINE WILL BE ENTERED, AND COMPUTER WILL EXECUTE 'GOTO' STATEMENT
- 600 REM ** THUS RETURNING TO LINE 500 FOR MORE IF ANY IS LEFT
- 610 :
- 620 REM ** ALL DONE SO EXIT PROGRAM (RETURN FROM A SUBROUTINE IF NECESSARY)
- 630 :
- 640 END
-